home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 2000 January / CD-Gamer_2000-01_04_cd.bin / games / phoenix.exe / Scripts / The Asteroid Accelerators.spt < prev    next >
Text File  |  1999-11-03  |  18KB  |  790 lines

  1. //MTEXT: The Asteroid Accelerators:- \n  \n Good Morning, F Squadron, this is your section leader, Captain Ray Leonard. Now whilst you are with this section you will be taking your mission briefings from me. \n We have a terrorist alert Code 2 situation. A terrorist unit has seized control of the MerlCo mining platform which is in orbit around Carpodacus, a small, inhabited planet in the Doronicum system. Now the terrorists have seized five asteroid accelerators from mining operations in the area and are moving them under armed escort. That is all we know at present. You will be updated as and when more information becomes available. \n Report to your launch stations immediately.
  2. //MSPEECH: sounds\Military1\military1_leo1.wav
  3. //SCENE: mscenes\Military1.cen
  4. //TACTICS: Misc
  5. //TACTICS: Dogfight
  6. //PHRASES: Punctuation.txt
  7. //PHRASES: Dogfight.txt
  8. //PHRASES: Badmil.txt
  9. //PHRASES: Military1.txt
  10. //PHRASES: BATTLEPRATTLE.txt
  11. //ALIAS: testalias.txt
  12.  
  13. //WEAPONS_AVAILABLE: 2 Laser Gun
  14. //WEAPONS_AVAILABLE: 2 Missile Launcher
  15. //WEAPONS_AVAILABLE: 2 Shield Mk I
  16. //WEAPONS_AVAILABLE: 1 Scanner
  17. //WEAPONS_AVAILABLE: 2 Engine
  18. //WEAPONS_AVAILABLE: 2 Chain Gun
  19. //WEAPONS_AVAILABLE: 3 Generator
  20. //WEAPONS_AVAILABLE: 1 Energy Bomb Gun
  21. //WEAPONS_AVAILABLE: 1 Player
  22. //WEAPONS_AVAILABLE: 1 Grapple
  23.  
  24. //SHIP_AVAILABLE: Human Light Fighter (Player)
  25. //SHIP_AVAILABLE: Human Medium Fighter (player)
  26. //SHIP_AVAILABLE: Human Heavy Fighter (Player)
  27.  
  28. //NEBPIC: nebpic24
  29. //BACKLIGHT: 81 65 41 81 65 41
  30. //MAINLIGHT: 255 255 255 255 255 255
  31. //AMBIENT: 15 25 23
  32.  
  33. VAR: INPOS1
  34. VAR: INPOS2
  35. VAR: INPOS3
  36. VAR: INPOS4
  37. VAR: INPOS5
  38. VAR: ACCMOVE
  39. VAR: FIREAST
  40. VAR: REPLY
  41. VAR: PlayEndEFMV
  42. VAR: STARTPROTECT
  43. VAR: BRIEFSTART
  44. VAR: FIRESIM
  45. VAR: FINISHEDSIM
  46. VAR: MOVIEDONE
  47. VAR: Bat
  48. VAR: Sus
  49. VAR: Calm
  50. VAR: Dead
  51.  
  52. //*****************************************************
  53.  
  54. Start(_CHECKBADBOY)
  55. BattlePrattle(ON)
  56. @WARNPLAYER{Alpha}
  57. @SETVAR{Dead|1}
  58. @WAIT{4000}
  59. @SCREENFADE{0,4000,255,0,0,0}
  60. @WAIT{4000}
  61. Player(OFF)
  62. Player View(OFF)
  63. @WAIT{2000}
  64. QUIT
  65.  
  66. Label(ENDBADBOY)
  67. Goto(ENDBADBOY)
  68.  
  69.  
  70. Start(_Beckdead)
  71.  
  72. @WAITVAR{MOVIEDONE|1}
  73.  
  74. Label(Bdead)
  75. If(s_ShipGoneStrength["Beck"]): If(s_PlayerOn[]): Goto(Bdead2)
  76. Goto(Bdead)
  77.  
  78. Label(Bdead2)
  79. Player(OFF)
  80. Player View(OFF)
  81. @SETVAR{Dead|1}
  82. Timer(8000)
  83. Label(becksdeath)
  84. Position Camera(BeckDeath.POS)
  85. Target Camera(Beck.POS)
  86. If(Timer): Goto(becksdeath)
  87.  
  88. @SCREENFADE{0,4000,255,0,0,0}
  89. @WAIT{4000}
  90. QUIT
  91.  
  92. Label(_Beckdead)
  93. Goto(_Beckdead)
  94.  
  95. Start(Briefing)
  96.  
  97. @WAITVAR{MOVIEDONE|1}
  98. @WAITVAR{BRIEFSTART|1}
  99.  
  100. Player(OFF)
  101. Player View(OFF)
  102. Music Quiet
  103. @SETVAR{Sus|1}
  104. //Goto(SIMU)
  105.  
  106. // Play the briefing .wav
  107. Message(Alpha,COMP1)
  108.  
  109. // First off, a shot of the Merlco Platform (0-6600)
  110.  
  111. Position Camera(MINEPLATV1.POS)
  112. Target Camera(MINEPLATTARG.POS)
  113. Timer(6600)
  114. @FLYCAMTIMED{MINEPLATV2|1000|1000|Track Camera(MINEPLATTARG.POS)}
  115. @FLYCAMTIMED{MINEPLATV3|1000|1000|Track Camera(MINEPLATTARG.POS)}
  116.  
  117. // Next, a pan around an asteroid accellerator unit.
  118.  
  119. Position Camera(PANPOS.POS)
  120. Target Camera(ACC4.POS)
  121.  
  122. Timer(11900)
  123. Label(PANLOOP)
  124. Thrust Camera(CAM.POS+CAM.ANG*[-2000,0,0]:3000)
  125. Track Camera(ACC4.POS)
  126. If(Timer): Goto(PANLOOP)
  127.  
  128. // After that, static shots of the other four accellerators.
  129.  
  130. Position Camera(Static1.POS)
  131. Target Camera(ACC1.POS)
  132. @WAIT{1000}
  133. @WAIT{4250|Track Camera(ACC2.POS)}
  134.  
  135. Position Camera(Static2.POS)
  136. Target Camera(ACC3.POS)
  137. @WAIT{1000}
  138. @WAIT{4250|Track Camera(ACC5.POS)}
  139.  
  140. // Simulation of the accellerators firing
  141.  
  142. //Label(SIMU)
  143.  
  144. Position Camera(SIMVIEW.POS)
  145. Camera Velocity([0,0,0])
  146. Target Camera(AST_SIM.POS)
  147. @SETVAR{ACCMOVE|1}
  148. @MOVESHIP{ACC1|ACC1SIM}
  149. @MOVESHIP{ACC2|ACC2SIM}
  150. @MOVESHIP{ACC3|ACC3SIM}
  151. @MOVESHIP{ACC4|ACC4SIM}
  152. @MOVESHIP{ACC5|ACC5SIM}
  153. //@WAIT{15000|Track Camera(AST_SIM.POS)}
  154. @PANAROUNDRIGHT{SIMVIEW|AST_SIM|2000|15000}
  155. @SETVAR{FIRESIM|1}
  156. @PANAROUNDRIGHT{CAM|AST_SIM|2000|17000}
  157. //@WAIT{17000|Track Camera(AST_SIM.POS)}
  158.  
  159. @WAITVAR{FINISHEDSIM|1}
  160.  
  161. // Last thing, move all the accellerators to their correct starting points.
  162.  
  163. @MOVESHIP{ACC1|ACC1START}
  164. @MOVESHIP{ACC2|ACC2START}
  165. @MOVESHIP{ACC3|ACC3START}
  166. @MOVESHIP{ACC4|ACC4START}
  167. @MOVESHIP{ACC5|ACC5START}
  168. @SETVAR{ACCMOVE|1}
  169.  
  170. @SETVAR{BRIEFSTART|0}
  171.  
  172. Label(EndBrief)
  173. Goto(EndBrief)
  174.  
  175. //*****************************************************
  176.  
  177. Start(EndEFMV)
  178.  
  179. @WAITVAR{MOVIEDONE|1}
  180. @WAITVAR{PlayEndEFMV|1}
  181. @SETVAR{Calm|1}
  182. // At the end of the mission, play the final bit of speech, cutting out part-way
  183. // to look at the space-station from which the message is coming.
  184.  
  185. @WAIT{2000}
  186. Standby(PIRATE1)
  187. Standby(PIRATE2)
  188. Standby(PIRATE3)
  189. Standby(PIRATE4)
  190. Standby(PIRATE5)
  191.  
  192.  
  193. Player(OFF)
  194. Player View(OFF)
  195. Position Camera(MINEPLATV1.POS)
  196. Target Camera(MINEPLATTARG.POS)
  197. @FLYCAM{MINEPLATV2|1000|1000|Track Camera(MINEPLATTARG.POS)}
  198. @FLYCAM{MINEPLATV3|1000|1000|Track Camera(MINEPLATTARG.POS)}
  199. Label(Stoptrack)
  200. Goto(Stoptrack)
  201.  
  202.  
  203. //*****************************************************
  204.  
  205. Start(SPEECH)
  206. @WAITVAR{MOVIEDONE|1}
  207.  
  208. // Wait for the end EFMV and play the appropriate speech.
  209. @WAITVAR{PlayEndEFMV|1}
  210. Message(Alpha,SECURITY1)
  211. @WAIT{13000}
  212. Message(Alpha,BRIDGE4)
  213. @WAIT{4600}
  214. Fade Out
  215. @SCREENFADE{0,2000,255,0,0,0}
  216. @WAIT{2000}
  217. @NEXTMISSION{07 Military2}
  218. QUIT
  219. Label(StopSPEECH)
  220. Goto(StopSPEECH)
  221.  
  222. //*****************************************************
  223.  
  224. Start(Alpha)
  225.  
  226. @SETVAR{MOVIEDONE|1}
  227.  
  228. //Player(ON)
  229. //Player View(ON)
  230. @WAIT{1000}
  231. @SOUNDON{}
  232. @STARTRENDER{}
  233. Standby(Alpha)
  234.  
  235. Position Camera(CAM1.POS)
  236. Target Camera(BECK.POS)
  237. @WAIT{1000}
  238. Jump In Ship(Beck)
  239. @WAIT{100}
  240. Jump In Ship(A1)
  241. @WAIT{200}
  242. Jump In Ship(A2)
  243. @WAIT{150}
  244. Jump In Ship(A3)
  245. @WAIT{300}
  246. Jump In Ship(A5)
  247.  
  248. Message(Alpha,DIARY)
  249.  
  250. @PANAROUNDLEFT{CAM1.POS|BECK.POS|2000|27000}
  251. Camera Velocity([0,0,0])
  252. @SCREENFADE{255,2000,0,0,0,0}
  253. Position Camera(Jonc.POS)
  254. Target Camera(Beck.POS)
  255.  
  256. Message(Alpha,BRIDGE1)
  257. Timer(16000)
  258. @FLYCAMTIMED{Jonc2.POS|1000|100|Quick Track Camera(Beck.POS)}
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265. @SETVAR{BRIEFSTART|1}
  266. @WAITVAR{BRIEFSTART|0}
  267.  
  268. // Set the accellerators moving to one asteroid after another until none are left.
  269.  
  270. Player(ON)
  271. Player View(ON)
  272. Music Loud
  273. @SETVAR{Bat|1}
  274. Message(Alpha,BRIDGE2)
  275.  
  276. @SETVAR{ACCMOVE|1}
  277. @SETVAR{STARTPROTECT|1}
  278.  
  279. Destroy Squad(ACC1,50)
  280. Destroy Squad(PIRATE1,50)
  281. Destroy Squad(ACC2,40)
  282. Destroy Squad(PIRATE2,40)
  283. Destroy Squad(ACC3,30)
  284. Destroy Squad(PIRATE3,30)
  285. Destroy Squad(ACC4,20)
  286. Destroy Squad(PIRATE4,20)
  287. Destroy Squad(ACC5,10)
  288. Destroy Squad(PIRATE5,10)
  289.  
  290. @WAIT{11000}
  291. Message(Alpha,COMP2)
  292.  
  293. //@SETVAR{PlayEndEFMV|1}
  294.  
  295. label(Alpha_END)
  296. goto(Alpha_END)
  297.  
  298. //*****************************************************
  299.  
  300. Start(ACC1)
  301. @WAITVAR{MOVIEDONE|1}
  302. @WAITVAR{ACCMOVE|1}
  303.  
  304. @WAIT{1000}
  305.  
  306. Tactic(FlyToAimAt,ACC1,ACC_POS_1,ACC_POS_2)
  307.  
  308. Label(ACC1_END)
  309. Do(S_SETVAR["INPOS1",0])
  310. If(S_CLOSETOGETHER["ACC1","ACC_POS_1",100]): Do(S_SETVAR["INPOS1",1])
  311. Goto(ACC1_END)
  312.  
  313. //***********************************
  314.  
  315. Start(ACC2)
  316. @WAITVAR{MOVIEDONE|1}
  317. @WAITVAR{ACCMOVE|1}
  318.  
  319. @WAIT{1000}
  320.  
  321. Tactic(FlyToAimAt,ACC2,ACC_POS_2,ACC_POS_3)
  322.  
  323. Label(CheckFor1Gone)
  324. If(S_SHIPGONE["ACC1"]): Goto(ACC2_1GONE)
  325. Do(S_SETVAR["INPOS2",0])
  326. If(S_CLOSETOGETHER["ACC2","ACC_POS_2",100]): Do(S_SETVAR["INPOS2",1])
  327. Goto(CheckFor1Gone)
  328.  
  329. Label(ACC2_1GONE)
  330. Tactic(FlyToAimAt,ACC2,ACC_POS_1,ACC_POS_2)
  331. Label(ACC2_FinishMove)
  332. Do(S_SETVAR["INPOS2",0])
  333. If(S_CLOSETOGETHER["ACC2","ACC_POS_1",100]): Do(S_SETVAR["INPOS2",1])
  334. Goto(ACC2_FinishMove)
  335.  
  336. //***********************************
  337.  
  338. Start(ACC3)
  339. @WAITVAR{MOVIEDONE|1}
  340.  
  341. @WAITVAR{ACCMOVE|1}
  342.  
  343. @WAIT{1000}
  344.  
  345. Tactic(FlyToAimAt,ACC3,ACC_POS_3,ACC_POS_4)
  346.  
  347. Label(ACC3_CheckFor1Gone)
  348. If(S_SHIPGONE["ACC1"]): If(S_SHIPGONE["ACC2"]): Goto(ACC3_12GONE)
  349. Do(S_SETVAR["INPOS3",0])
  350. If(S_CLOSETOGETHER["ACC3","ACC_POS_3",100]): Do(S_SETVAR["INPOS3",1])
  351. Goto(ACC3_CheckFor1Gone)
  352.  
  353. Label(ACC3_12GONE)
  354. Tactic(FlyToAimAt,ACC3,ACC_POS_1,ACC_POS_2)
  355. Label(ACC3_FinishMove)
  356. Do(S_SETVAR["INPOS3",0])
  357. If(S_CLOSETOGETHER["ACC3","ACC_POS_1",100]): Do(S_SETVAR["INPOS3",1])
  358. Goto(ACC3_FinishMove)
  359.  
  360. //***********************************
  361.  
  362. Start(ACC4)
  363. @WAITVAR{MOVIEDONE|1}
  364.  
  365. @WAITVAR{ACCMOVE|1}
  366.  
  367. @WAIT{1000}
  368.  
  369. Tactic(FlyToAimAt,ACC4,ACC_POS_4,ACC_POS_5)
  370.  
  371. Label(ACC4_CheckFor1Gone)
  372. If(S_SHIPGONE["ACC1"]): If(S_SHIPGONE["ACC2"]): If(S_SHIPGONE["ACC3"]): Goto(ACC4_123GONE)
  373. Do(S_SETVAR["INPOS4",0])
  374. If(S_CLOSETOGETHER["ACC4","ACC_POS_4",100]): Do(S_SETVAR["INPOS4",1])
  375. Goto(ACC4_CheckFor1Gone)
  376.  
  377. Label(ACC4_123GONE)
  378. Tactic(FlyToAimAt,ACC4,ACC_POS_1,ACC_POS_2)
  379. Label(ACC4_FinishMove)
  380. Do(S_SETVAR["INPOS4",0])
  381. If(S_CLOSETOGETHER["ACC4","ACC_POS_1",100]): Do(S_SETVAR["INPOS4",1])
  382. Goto(ACC4_FinishMove)
  383.  
  384. //************************************
  385.  
  386. Start(ACC5)
  387. @WAITVAR{MOVIEDONE|1}
  388. @WAITVAR{ACCMOVE|1}
  389.  
  390. @WAIT{1000}
  391.  
  392. Tactic(FlyToAimAt,ACC5,ACC_POS_5,ACC_POS_6)
  393.  
  394. Label(ACC5_CheckFor1Gone)
  395. If(S_SHIPGONE["ACC1"]): If(S_SHIPGONE["ACC2"]): If(S_SHIPGONE["ACC3"]): If(S_SHIPGONE["ACC4"]): Goto(ACC5_1234GONE)
  396. Do(S_SETVAR["INPOS5",0])
  397. If(S_CLOSETOGETHER["ACC5","ACC_POS_5",100]): Do(S_SETVAR["INPOS5",1])
  398. Goto(ACC5_CheckFor1Gone)
  399.  
  400. Label(ACC5_1234GONE)
  401. Tactic(FlyToAimAt,ACC5,ACC_POS_1,ACC_POS_2)
  402. Label(ACC5_FinishMove)
  403. Do(S_SETVAR["INPOS5",0])
  404. If(S_CLOSETOGETHER["ACC5","ACC_POS_1",100]): Do(S_SETVAR["INPOS5",1])
  405. Goto(ACC5_FinishMove)
  406.  
  407. //************************************
  408.  
  409. Start(PRETENDINPOS)
  410. @WAITVAR{MOVIEDONE|1}
  411.  
  412. @WAIT{15000}
  413.  
  414. Label(CONSTANT)
  415. If(S_SHIPGONESTRENGTH["ACC1"]): Do(S_SETVAR["INPOS1",1])
  416. If(S_SHIPGONESTRENGTH["ACC2"]): Do(S_SETVAR["INPOS2",1])
  417. If(S_SHIPGONESTRENGTH["ACC3"]): Do(S_SETVAR["INPOS3",1])
  418. If(S_SHIPGONESTRENGTH["ACC4"]): Do(S_SETVAR["INPOS4",1])
  419. If(S_SHIPGONESTRENGTH["ACC5"]): Do(S_SETVAR["INPOS5",1])
  420.  
  421.  
  422. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(DONEMISSION)
  423. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC5"]): Goto(DONEMISSION)
  424. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC5"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(DONEMISSION)
  425. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC5"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(DONEMISSION)
  426. If(S_SHIPGONESTRENGTH["ACC5"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(DONEMISSION)
  427.  
  428. Goto(CONSTANT)
  429.  
  430. Label(DONEMISSION)
  431.  
  432. // TODO: Print "Mission Accomplished" on the screen.
  433. @WAIT{3000}
  434. @SETVAR{PlayEndEFMV|1}
  435.  
  436. Label(Stop_constant)
  437. Goto(Stop_constant)
  438.  
  439. //************************************
  440.  
  441. Start(FIREASTEROIDS)
  442. @WAITVAR{MOVIEDONE|1}
  443.  
  444. // Firing this first asteroid is in EFMV (a "simulation");
  445.  
  446. @WAITVAR{ACCMOVE|1}
  447. Do(S_MOVESHIP["ACC_POS_0","AST_SIM"])
  448. @WAITVAR{FIREAST|1}
  449. @WAITVAR{FIRESIM|1}
  450. @SETVAR{REPLY|1}
  451.  
  452. Do(S_SETSHIPVELOCITY["AST_SIM","ACC_POS_0","ACC_POS_1"])
  453.  
  454. @WAIT{1000}
  455. Do(S_SETSHIPVELOCITY["AST_SIM","ACC_POS_0","ACC_POS_2"])
  456.  
  457. @WAIT{500}
  458. Do(S_SETSHIPVELOCITY["AST_SIM","ACC_POS_0","ACC_POS_3"])
  459.  
  460. @WAIT{300}
  461. Do(S_SETSHIPVELOCITY["AST_SIM","ACC_POS_0","ACC_POS_4"])
  462.  
  463. @WAIT{250}
  464. Do(S_SETSHIPVELOCITY["AST_SIM","ACC_POS_0","ACC_POS_5"])
  465.  
  466. Do(S_MOVESHIP["ACC_POS_0","AST_1"])
  467. @SETVAR{FINISHEDSIM|1}
  468. @SETVAR{ACCMOVE|0}
  469. @SETVAR{FIREAST|0}
  470.  
  471. // Now the real things
  472.  
  473. @WAITVAR{ACCMOVE|1}
  474. Do(S_MOVESHIP["ACC_POS_0","AST_1"])
  475. @WAITVAR{FIREAST|1}
  476. @SETVAR{REPLY|1}
  477.  
  478. Message(Alpha,BRIDGE3)
  479.  
  480. Do(S_SETSHIPVELOCITY["AST_1","ACC_POS_0","ACC_POS_1"])
  481.  
  482. @WAIT{1000}
  483. Do(S_SETSHIPVELOCITY["AST_1","ACC_POS_0","ACC_POS_2"])
  484.  
  485. @WAIT{500}
  486. Do(S_SETSHIPVELOCITY["AST_1","ACC_POS_0","ACC_POS_3"])
  487.  
  488. @WAIT{300}
  489. Do(S_SETSHIPVELOCITY["AST_1","ACC_POS_0","ACC_POS_4"])
  490.  
  491. @WAIT{250}
  492. Do(S_SETSHIPVELOCITY["AST_1","ACC_POS_0","ACC_POS_5"])
  493.  
  494. Do(S_MOVESHIP["ACC_POS_0","AST_2"])
  495. @SETVAR{FIREAST|0}
  496. @WAITVAR{FIREAST|1}
  497. @SETVAR{REPLY|1}
  498.  
  499. Do(S_SETSHIPVELOCITY["AST_2","ACC_POS_0","ACC_POS_1"])
  500.  
  501. @WAIT{1000}
  502. Do(S_SETSHIPVELOCITY["AST_2","ACC_POS_0","ACC_POS_2"])
  503.  
  504. @WAIT{500}
  505. Do(S_SETSHIPVELOCITY["AST_2","ACC_POS_0","ACC_POS_3"])
  506.  
  507. @WAIT{300}
  508. Do(S_SETSHIPVELOCITY["AST_2","ACC_POS_0","ACC_POS_4"])
  509.  
  510. @WAIT{250}
  511. Do(S_SETSHIPVELOCITY["AST_2","ACC_POS_0","ACC_POS_5"])
  512.  
  513. Do(S_MOVESHIP["ACC_POS_0","AST_3"])
  514. @SETVAR{FIREAST|0}
  515. @WAITVAR{FIREAST|1}
  516. @SETVAR{REPLY|1}
  517.  
  518. Do(S_SETSHIPVELOCITY["AST_3","ACC_POS_0","ACC_POS_1"])
  519.  
  520. @WAIT{1000}
  521. Do(S_SETSHIPVELOCITY["AST_3","ACC_POS_0","ACC_POS_2"])
  522.  
  523. @WAIT{500}
  524. Do(S_SETSHIPVELOCITY["AST_3","ACC_POS_0","ACC_POS_3"])
  525.  
  526. @WAIT{300}
  527. Do(S_SETSHIPVELOCITY["AST_3","ACC_POS_0","ACC_POS_4"])
  528.  
  529. @WAIT{250}
  530. Do(S_SETSHIPVELOCITY["AST_3","ACC_POS_0","ACC_POS_5"])
  531.  
  532.  
  533.  
  534. Do(S_MOVESHIP["ACC_POS_0","AST_4"])
  535. @SETVAR{FIREAST|0}
  536. @WAITVAR{FIREAST|1}
  537. @SETVAR{REPLY|1}
  538.  
  539. Do(S_SETSHIPVELOCITY["AST_4","ACC_POS_0","ACC_POS_1"])
  540.  
  541. @WAIT{1000}
  542. Do(S_SETSHIPVELOCITY["AST_4","ACC_POS_0","ACC_POS_2"])
  543.  
  544. @WAIT{500}
  545. Do(S_SETSHIPVELOCITY["AST_4","ACC_POS_0","ACC_POS_3"])
  546.  
  547. @WAIT{300}
  548. Do(S_SETSHIPVELOCITY["AST_4","ACC_POS_0","ACC_POS_4"])
  549.  
  550. @WAIT{250}
  551. Do(S_SETSHIPVELOCITY["AST_4","ACC_POS_0","ACC_POS_5"])
  552.  
  553.  
  554.  
  555. Do(S_MOVESHIP["ACC_POS_0","AST_5"])
  556. @SETVAR{FIREAST|0}
  557. @WAITVAR{FIREAST|1}
  558. @SETVAR{REPLY|1}
  559.  
  560. Do(S_SETSHIPVELOCITY["AST_5","ACC_POS_0","ACC_POS_1"])
  561.  
  562. @WAIT{1000}
  563. Do(S_SETSHIPVELOCITY["AST_5","ACC_POS_0","ACC_POS_2"])
  564.  
  565. @WAIT{500}
  566. Do(S_SETSHIPVELOCITY["AST_5","ACC_POS_0","ACC_POS_3"])
  567.  
  568. @WAIT{300}
  569. Do(S_SETSHIPVELOCITY["AST_5","ACC_POS_0","ACC_POS_4"])
  570.  
  571. @WAIT{250}
  572. Do(S_SETSHIPVELOCITY["AST_5","ACC_POS_0","ACC_POS_5"])
  573.  
  574.  
  575.  
  576. Label(DONEFIREASTEROIDS)
  577. Goto(DONEFIREASTEROIDS)
  578.  
  579. //************************************
  580.  
  581. Start(ACCELLERATORS)
  582. @WAITVAR{MOVIEDONE|1}
  583.  
  584. @WAITVAR{ACCMOVE|1}
  585.  
  586. Label(FlyToNextPos)
  587. @WAIT{1000}
  588.  
  589. Do(S_SETVAR["INPOS1",0])
  590. Do(S_SETVAR["INPOS2",0])
  591. Do(S_SETVAR["INPOS3",0])
  592. Do(S_SETVAR["INPOS4",0])
  593. Do(S_SETVAR["INPOS5",0])
  594.  
  595. Label(WaitTillInPosition1)
  596. If(S_VAR["INPOS1",0]): Goto(WaitTillInPosition1)
  597. If(S_VAR["INPOS2",0]): Goto(WaitTillInPosition1)
  598. If(S_VAR["INPOS3",0]): Goto(WaitTillInPosition1)
  599. If(S_VAR["INPOS4",0]): Goto(WaitTillInPosition1)
  600. If(S_VAR["INPOS5",0]): Goto(WaitTillInPosition1)
  601.  
  602. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(ACCELLERATORS_END)
  603. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC5"]): Goto(ACCELLERATORS_END)
  604. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC5"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(ACCELLERATORS_END)
  605. If(S_SHIPGONESTRENGTH["ACC1"]): If(S_SHIPGONESTRENGTH["ACC5"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(ACCELLERATORS_END)
  606. If(S_SHIPGONESTRENGTH["ACC5"]): If(S_SHIPGONESTRENGTH["ACC2"]): If(S_SHIPGONESTRENGTH["ACC3"]): If(S_SHIPGONESTRENGTH["ACC4"]): Goto(ACCELLERATORS_END)
  607.  
  608. // Fire the first asteroid!
  609.  
  610. // TODO: Print "ACCELLERATORS CHARGING!" on the screen + play wav file.
  611.  
  612. @WAIT{1000}
  613. @SETSTRPARAM{ACC1|RING1|ON}
  614. @SETSTRPARAM{ACC2|RING1|ON}
  615. @SETSTRPARAM{ACC3|RING1|ON}
  616. @SETSTRPARAM{ACC4|RING1|ON}
  617. @SETSTRPARAM{ACC5|RING1|ON}
  618. @WAIT{1000}
  619. @SETSTRPARAM{ACC1|RING2|ON}
  620. @SETSTRPARAM{ACC2|RING2|ON}
  621. @SETSTRPARAM{ACC3|RING2|ON}
  622. @SETSTRPARAM{ACC4|RING2|ON}
  623. @SETSTRPARAM{ACC5|RING2|ON}
  624. @WAIT{1000}
  625. @SETSTRPARAM{ACC1|RING3|ON}
  626. @SETSTRPARAM{ACC2|RING3|ON}
  627. @SETSTRPARAM{ACC3|RING3|ON}
  628. @SETSTRPARAM{ACC4|RING3|ON}
  629. @SETSTRPARAM{ACC5|RING3|ON}
  630. @WAIT{1000}
  631.  
  632. @SETVAR{FIREAST|1}
  633. @WAITVAR{REPLY|1}
  634. @SETVAR{REPLY|0}
  635. @SETSTRPARAM{ACC1|RING1|OFF}
  636. @SETSTRPARAM{ACC1|RING2|OFF}
  637. @SETSTRPARAM{ACC1|RING3|OFF}
  638.  
  639. @WAIT{1000}
  640. @SETSTRPARAM{ACC2|RING1|OFF}
  641. @SETSTRPARAM{ACC2|RING2|OFF}
  642. @SETSTRPARAM{ACC2|RING3|OFF}
  643.  
  644. @WAIT{500}
  645. @SETSTRPARAM{ACC3|RING1|OFF}
  646. @SETSTRPARAM{ACC3|RING2|OFF}
  647. @SETSTRPARAM{ACC3|RING3|OFF}
  648.  
  649. @WAIT{300}
  650. @SETSTRPARAM{ACC4|RING1|OFF}
  651. @SETSTRPARAM{ACC4|RING2|OFF}
  652. @SETSTRPARAM{ACC4|RING3|OFF}
  653.  
  654. @WAIT{250}
  655. @SETSTRPARAM{ACC5|RING1|OFF}
  656. @SETSTRPARAM{ACC5|RING2|OFF}
  657. @SETSTRPARAM{ACC5|RING3|OFF}
  658.  
  659. Goto(FlyToNextPos)
  660.  
  661. Label(stop_acc)
  662. Goto(stop_acc)
  663.  
  664. label(ACCELLERATORS_END)
  665.  
  666. goto(ACCELLERATORS_END)
  667.  
  668. //*******************************************************
  669.  
  670. Start(PIRATE1)
  671. @WAITVAR{MOVIEDONE|1}
  672.  
  673. @WAITVAR{STARTPROTECT|1}
  674.  
  675. Protect Ship(ACC1,30)
  676. Protect Squad(PIRATE1,30)
  677.  
  678. @WAITVAR{PlayEndEFMV|1}
  679. Forget All
  680. Jump Out(PIRATE1)
  681.  
  682. Label(ENDP1)
  683. Goto(ENDP1)
  684.  
  685. //########################################################
  686.  
  687. Start(PIRATE2)
  688. @WAITVAR{MOVIEDONE|1}
  689.  
  690. @WAITVAR{STARTPROTECT|1}
  691.  
  692. Protect Ship(ACC2,40)
  693. Protect Squad(PIRATE2,30)
  694.  
  695. @WAITVAR{PlayEndEFMV|1}
  696. Forget All
  697. Jump Out(PIRATE2)
  698.  
  699. Label(ENDP2)
  700. Goto(ENDP2)
  701.  
  702. //########################################################
  703.  
  704. Start(PIRATE3)
  705. @WAITVAR{MOVIEDONE|1}
  706.  
  707. @WAITVAR{STARTPROTECT|1}
  708.  
  709. Protect Ship(ACC3,40)
  710. Protect Squad(PIRATE3,30)
  711.  
  712. @WAITVAR{PlayEndEFMV|1}
  713. Forget All
  714. Jump Out(PIRATE3)
  715.  
  716. Label(ENDP3)
  717. Goto(ENDP3)
  718.  
  719. //########################################################
  720.  
  721. Start(PIRATE4)
  722. @WAITVAR{MOVIEDONE|1}
  723.  
  724. @WAITVAR{STARTPROTECT|1}
  725.  
  726. Protect Ship(ACC4,40)
  727. Protect Squad(PIRATE4,30)
  728.  
  729. @WAITVAR{PlayEndEFMV|1}
  730. Forget All
  731. Jump Out(PIRATE4)
  732.  
  733. Label(ENDP4)
  734. Goto(ENDP4)
  735.  
  736. //########################################################
  737.  
  738. Start(PIRATE5)
  739. @WAITVAR{MOVIEDONE|1}
  740.  
  741. @WAITVAR{STARTPROTECT|1}
  742.  
  743. Protect Ship(ACC5,40)
  744. Protect Squad(PIRATE5,30)
  745.  
  746. @WAITVAR{PlayEndEFMV|1}
  747. Forget All
  748. Jump Out(PIRATE5)
  749.  
  750. Label(ENDP5)
  751. Goto(ENDP5)
  752.  
  753. Start(_MUSIC)
  754.  
  755. @WAITVAR{MOVIEDONE|1}
  756. Music Set(7)   
  757.  
  758. Fade To Calm
  759.  
  760. @WAITVAR{Sus|1}
  761.  
  762. Fade To Suspense
  763.  
  764. @WAITVAR{Bat|1|If(S_VAR["Dead",1]): Goto(DEAD_Battle)}
  765.  
  766. Battle
  767.  
  768. @WAITVAR{Calm|1|If(S_VAR["Dead",1]): Goto(DEAD_Battle)}
  769.  
  770. Fade To Calm
  771.  
  772. Label(MUSIC_END)
  773. Goto(MUSIC_END)
  774.  
  775. Label(DEAD_Battle)
  776.  
  777. End Battle
  778.  
  779. Goto(MUSIC_END)
  780.  
  781. Label(DEAD_CALM)
  782.  
  783. Fade Out
  784.  
  785. Label(DEAD_SUSPENSE)
  786.  
  787. Fade Out
  788.  
  789. Label(MUSIC_END)
  790. Goto(MUSIC_END)